Digital compositing is the process of digitally assembling multiple pieces of content to make a final piece of content (referred to as a composition), typically for motion pictures (i.e., video). It is the digital analogue of optical film compositing. In particular, layer-based compositing represents each piece of digital content (e.g., media object) in a composite (or composition) as a separate layer within a timeline, each with its own time bounds, effects, keyframes, etc. All the layers are stacked, one above the next, in any desired order; and the bottom layer is usually rendered as a base in the resultant final content, with each higher layer being progressively rendered on top of the previously composited of layers, moving upward until all layers have been rendered into the final composite content.
Layer-based compositing sometimes becomes complex in the cases where a large number of layers are utilized. A partial solution to this problem is the ability of some digital compositing programs to view the composite-order of elements (such as images, effects, or other attributes) with a visual diagram to nest compositions, or “comps,” directly into other compositions, thereby adding complexity to the render-order by first compositing layers in the beginning composition, then combining that resultant image with the layered images from the proceeding composition, and so on. Thus, each digital video composition can have a series of layers—one stacked on atop another—resting in a timeline.
A digital compositing platform that allows users to digitally composite content, and include nested compositions, is Adobe's After Effects product. Other examples of digital compositing programs or platforms are Blender, Cinelerra, Kdenlive, Natron, OpenShot, Shotcut, Apple Motion, Autodesk 3ds Max, Autodesk Inferno, Flame and Flint (IFF), Autodesk Maya, Autodesk Smoke, CompTime (ILM), FXhome HitFilm, Saber (ILM), Houdini, Blackmagic Fusion, Mistika, Nuke, Piranha, SilhouetteFX, Assimilate, Scratch, Sony Vegas Pro, or the like.
In the main, these types of digital compositing platforms (also known as post-production or editing applications or platforms) present a user with an interface by which a user may select and define layers, and the corresponding source of content for each layer. The interface may also present a graphical depiction of the time line of the composition and allow a user of the digital compositing program to order the layers. Additionally, when a digital compositor (e.g., user) works with a post-production application, the application typically offers a suite of effects that can be applied to the various individual layers that are in the composition's timeline. These effects may be applied or defined using, for example, a “plug-in” to the digital compositing platform. Such plug-ins may be a component that provides a particular feature (e.g., one or more effects) in association with a computing program (e.g., a digital compositing platform). These plug-ins may utilize an extensible architecture offered by the “host” computing program (e.g., a plug-in architecture such as a set of Application Programming Interfaces (API) or the like).
There are a number of complexities when it comes to layer-based digital compositing, however. These complexities result at least in part from the fact that each layer of a composition may include content with no inherent duration (e.g., an image or text) or, conversely, may include content that does have inherent duration (e.g., a video file). Thus, for layers including content with inherent duration there may be a start and end to the content comprising that layer, but there may also be an in-point and out-point defined with respect to the content for that layer, where the in-pint and out-point may not be the same as the start point or end point of the content. Accordingly, the entire duration of the content of the layer may not be shown in the resulting (rendered) composition.
Additionally, problems may arise because digital compositing platforms may allow different pieces of content to be easily swapped. Thus, once a composition is defined (e.g., the set of layers, the content for each of the set of layers, the in-point and out-points for each layer, the temporal arrangement of each layer and the like defined), another source of content may be “swapped” for the current source for the layer, or the original content may be modified. As may be imagined, in the case of content with a particular duration, the original content for a layer may not be of the same duration as the swapped or modified content that replaces it. This situation can cause a number of adverse effects, including dead space in a composition, improper or unwanted display of certain layers together in the composite, the curtailing of the display of the composition, or other undesirable effects. These adverse effects may be exacerbated when layers of a composition are nested, such that one or more layers of a composition is itself a composition comprised of layers having content with an inherent duration.
What is desired therefore, are digital compositing platforms enabled to allow automatic temporal adjustment of a composition or layers thereof.